name: Build

on:
  push:
    branches: [master]
    paths-ignore:
      - "**.md"

  pull_request:
    types: [opened, reopened, synchronize]
  release:
    types: [published]

jobs:
  build:
    name: "Build"
    runs-on: ubuntu-20.04
    outputs:
      sha: ${{ steps.declare_sha.outputs.sha }}
      semver: ${{ steps.declare_sha.outputs.semver }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Declare SHA & package name
        id: declare_sha
        shell: bash
        run: |
          SHA=$(git rev-parse --short HEAD)
          echo "COMMIT_SHA=${SHA}" >> $GITHUB_ENV
          echo "sha=$SHA" >> $GITHUB_OUTPUT
          echo "semver=${{ steps.semver_parser.outputs.fullversion }}" >> $GITHUB_OUTPUT

      - name: Setup AMXXPawn Compiler
        uses: wopox1337/setup-amxxpawn@v1.0.2
        with:
          version: "1.10"

      - name: Compile AMXX plugins
        working-directory: scripting/
        run: |
          mkdir ../plugins/

          for sourcefile in *.sma;
          do
            amxxfile="`echo $sourcefile | sed -e 's/\.sma$/.amxx/'`"
            echo -n "Compiling $sourcefile ... "

            amxxpc $sourcefile -o"../plugins/$amxxfile" \
              -i"include" \
          done

      - name: Move files
        run: |
          mkdir publish
          mv addons/ publish/

      - name: Upload artifact
        uses: actions/upload-artifact@v3
        with:
          name: player-prefs-${{ env.COMMIT_SHA }}-dev
          path: publish/*
